Import Fields to a System

You can upload field metadata for a System in a zipped JSON file using the upload option on the System detail page.

Fields JSON Import File Format

Use the following schema information to format the JSON file that is used to load field metadata for a System.

Format:

{

"version": "2018-02-07",

"fields":[

{

"name": "...",

"location": {...},

"type": {..}

}

]

}

 

You can request a sample JSON file by submitting a request to support.

 

Properties in “root”:

Property

Description

Presence

Example 1

version

Schema version as string

Must be present

NOTE: This is a hard coded value that MUST be set to this exact string for this version of the API

“2018-02-07”

fields

Array of JSON object

Must be present

NOTE: See properties below

 

Properties in “fields” array:

Property

Description

Presence

Example 1

name

The friendly name of the field.

Must be present

NOTE: This is the Friendly Name that displays in the UI on the Data Set page.

Customer Name

location

The full system-specific path, location information for a field.  This is a JSON bag.

Must be present

JSON { … }

(see “location” table below)

type

The full system-specific data type information for a field.  This is a JSON bag.

Must be present

JSON { … }

(see “type” table below)

tags

An array of terms that should be indexed along with this field for search.

May be present.

[ “KUNNR”, “Customer Name”  ]

usage

Contains system-specific usage or context data, if available.

For example, the content of a database’s data dictionary, a MSSQL column comment, etc.

May be present. Default is the empty string.

 

Properties in “location”:

Property

Description

Presence

Example 1

technicalName

A short name of the field name

Must be present

NOTE: This is the Technical Name that displays in the UI on the Data Set page.

KUNNR

path

The full system-specific path, location information for a field

Must be present

NOTE: This is the Location (under the system name) that displays in the UI on the Data Set page.

dbo.KNA1.KUNNR

<custom properties>

Any other custom property that integrators may choose to upload; any other system-specific properties.

May be present.

 

Properties in “type”:

Property

Description

Presence

Example 1

dataTypeIntent

A simplified data type from this list: text, number, Boolean, date, money, location, binary, identifier

May be present

text

baseDataType

The field data type

Must be present

NOTE: This is displayed in the UI on the Add Fields tab on the Data Set page.

nvarchar

range

Range constraints

Must be present if applicable.

JSON { … } (see “range” table below)

precision

A precision for numeric data types

Must be present when baseDataType is numeric; otherwise, must not be present.

NOTE: This is displayed in the UI on the Add Fields tab on the Data Set detail page on the Data Set - Fields and Data Set - Add Fields tabs.

 

length

A length value for characters types

Must be present when baseDataType is an array of characters or bytes; otherwise, must not be present.

NOTE: This is displayed in the UI on the Add Fields tab on the Data Set page.

36

encoding

Additional details about the encoding of the field

Must be present if applicable

NOTE: This can be a string.

“Utf-8”, “latin-1”, IEEE-754 floating point, binary data is in big-endian or little-endian, bools are 0xFFFFF or 0x00001 etc.

identity

Indicates whether this field is an identifier in the underlying model (e.g., a primary key in a relational db context, or a resource  identifier in a REST API context)

May be present.

NOTE: Default to false.

true

optional

A determination if the field can be nullable

May be present.

NOTE: Default to false.

true

<custom properties>

Any other custom property that integrators may choose to upload; any other system-specific properties.

May be present.

 

Proposed properties in “range”:

Property

Description

Presence

Example 1

minValue

A minimum value for numeric data

Must be present if applicable. Must not be present if not applicable.

-7.25

maxValue

A maximum value for numeric data

Must be present if applicable. Must not be present if not applicable.

13

rangeValues

A finite list of values drawn from the default range of the baseDataType.

May be present if applicable. (If the data set would be really long, it might not be possible to include.)

 

Must not be present if not applicable.

[ “Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday” ]

rangeDataType

The name of the range constraint (e.g. a FK table name)

May be present if applicable.

 

If applicable and rangeValues is not present, then this property must be present.

“DaysOfTheWeek”, “dbo.DaysOfTheWeek”

The upload file must be zipped (compressed). The zipped file can contain multiple JSON files to organize the files.

For example:

SAPFileUpload.zip can contain:

  • SAP (directory - optional)
    • HRFields.json
    • FinanceFields.json
    • LegalFields.json

Or it can contain one file

SAPFileUpload.zip

  • SAP (directory - optional)
    • Fields.json

To upload field metadata for a System:

  1. Add a System.

    OR

    Search for a System and open the detail page.

  2. Click the drop-down menu for the System.

  3. Select Upload Metadata.
  4. Drag and Drop the JSON file onto the upload modal.

    OR

    Browse for the file.

  5. Click Upload.

IMPORTANT: You will receive a message in the Notifications panel once the file has been processed to indicate success or to inform you of issues with the import.

After you receive a message that the upload succeeded, you can use your browser refresh option to update the count in the Fields panel to verify the upload. Next, the fields can be used to set up Data Sets. Refer to Set Up a Data Set.

Remove Fields from a System

You can remove specific fields (or a group of fields) from a System if you re-import to a System with the import file in which fields that had been previously imported to that System are not included. The fields that you choose to exclude from the newly imported file are marked as Removed from System in any Data Set where the fields had been added.

If a field that was removed from a System is subsequently re-included in the import file and imported to the System again it is made “active” again in any data set in which it has been used.